← Index
NYTProf Performance Profile   
For ../prof.pl
  Run on Thu Dec 15 15:23:56 2022
Reported on Thu Dec 15 15:27:04 2022

Filename(eval 427)[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm:3]
StatementsExecuted 50 statements in 469µs
Eval Invoked At/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm line 3
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
51144µs52µsType::Tiny::::__ANON__[:16]Type::Tiny::__ANON__[:16]
1115µs13µsType::Tiny::::BEGIN@16.328Type::Tiny::BEGIN@16.328
1114µs4µsType::Tiny::::BEGIN@9.327Type::Tiny::BEGIN@9.327
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
221µs my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
310s my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
4 package Type::Tiny;
5
# spent 52µs (44+8) within Type::Tiny::__ANON__[(eval 427)[/Users/ether/.perlbrew/libs/36.0@std/lib/perl5/Sub/Quote.pm:3]:16] which was called 5 times, avg 10µs/call: # 5 times (44µs+8µs) by JSON::Schema::Modern::__ANON__[/Users/ether/git/JSON-Schema-Modern/lib/JSON/Schema/Modern.pm:124] at line 177 of Sub/Defer.pm, avg 10µs/call
$$_UNQUOTED = sub {
6 ($_QUOTED,$_UNQUOTED) if 0;
7# BEGIN quote_sub PRELUDE
8package Type::Tiny;
9
# spent 4µs within Type::Tiny::BEGIN@9.327 which was called: # once (4µs+0s) by Sub::Quote::_clean_eval at line 14
BEGIN {
1010s $^H = 1762;
1111µs ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUUUUU";
1214µs %^H = (
13 );
14114µs14µs}
# spent 4µs making 1 call to Type::Tiny::BEGIN@9.327
15# END quote_sub PRELUDE
1643445µs2229µs
# spent 13µs (5+8) within Type::Tiny::BEGIN@16.328 which was called: # once (5µs+8µs) by Sub::Quote::_clean_eval at line 16
do { no warnings "void"; package Type::Tiny; (do { package Type::Tiny; (Ref::Util::XS::is_plain_hashref($_[0])) and (not grep {my $v = ($_[0])->{$_};not((/\A(?:date\-time|date|time|duration|email|idn\-email|hostname|idn\-hostname|ipv4|ipv6|uri|uri\-reference|iri|iri\-reference|uuid|uri\-template|json\-pointer|relative\-json\-pointer|regex)\z/) or (((!!1)) and (do { package Type::Tiny; (Ref::Util::XS::is_plain_hashref($v)) and not(grep !/\A(?:type|sub)\z/, keys %{$v}) and exists($v->{"type"}) and (defined($v->{"type"}) and !ref($v->{"type"}) and $v->{"type"} =~ m{\A(?:(?:array|boolean|integer|nu(?:ll|mber)|object|string))\z}) and exists($v->{"sub"}) and do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($v->{"sub"}) } })))} keys %{$_[0]}) and (!exists $_[0]->{"date-time"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"date-time"}) })) and (!exists $_[0]->{"date"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"date"}) })) and (!exists $_[0]->{"time"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"time"}) })) and (!exists $_[0]->{"duration"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"duration"}) })) and (!exists $_[0]->{"email"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"email"}) })) and (!exists $_[0]->{"idn-email"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"idn-email"}) })) and (!exists $_[0]->{"hostname"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"hostname"}) })) and (!exists $_[0]->{"idn-hostname"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"idn-hostname"}) })) and (!exists $_[0]->{"ipv4"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"ipv4"}) })) and (!exists $_[0]->{"ipv6"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"ipv6"}) })) and (!exists $_[0]->{"uri"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"uri"}) })) and (!exists $_[0]->{"uri-reference"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"uri-reference"}) })) and (!exists $_[0]->{"iri"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"iri"}) })) and (!exists $_[0]->{"iri-reference"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"iri-reference"}) })) and (!exists $_[0]->{"uuid"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"uuid"}) })) and (!exists $_[0]->{"uri-template"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"uri-template"}) })) and (!exists $_[0]->{"json-pointer"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"json-pointer"}) })) and (!exists $_[0]->{"relative-json-pointer"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"relative-json-pointer"}) })) and (!exists $_[0]->{"regex"} or (do { package Type::Tiny; Ref::Util::XS::is_plain_coderef($_[0]->{"regex"}) })) }) or Type::Tiny::_failed_check(64, "Dict[date=>Optional[CodeRef],date-time=>Optional[CodeRef],duration=>Optional[CodeRef],email=>Optional[CodeRef],hostname=>Optional[CodeRef],idn-email=>Optional[CodeRef],idn-hostname=>Optional[CodeRef],ipv4=>Optional[CodeRef],ipv6=>Optional[CodeRef],iri=>Optional[CodeRef],iri-reference=>Optional[CodeRef],json-pointer=>Optional[CodeRef],regex=>Optional[CodeRef],relative-json-pointer=>Optional[CodeRef],time=>Optional[CodeRef],uri=>Optional[CodeRef],uri-reference=>Optional[CodeRef],uri-template=>Optional[CodeRef],uuid=>Optional[CodeRef],Slurpy[HashRef[Dict[sub=>CodeRef,type=>Enum[\"null\",\"object\",\"array\",\"boolean\",\"string\",\"number\",\"integer\"]]]]]", $_[0], ); $_[0] }; };
# spent 13µs making 1 call to Type::Tiny::BEGIN@16.328 # spent 8µs making 20 calls to Type::Tiny::CORE:match, avg 400ns/call # spent 8µs making 1 call to warnings::unimport
17}
1814µs1;
19
20;